import Vue from 'vue'
import App from './App.vue'
import router from './router'
// 引入vant ui 组件：
import Vant, { Toast } from '../node_modules/vant'
import '../node_modules/vant/lib/index.css'
// 安装axios库
import axios from 'axios'

// 封装axios请求的基准路径：
// 设定默认的基准路径：
axios.defaults.baseURL = "http://157.122.54.189:9083"

//创建一个响应拦截器：
// **在最后！！一定要设置return 返回res 实响应通行，不然，过不去！！
// 添加响应拦截器：
//  无论哪个页面发送请求，响应都应该来到这里，
// 先做判断，再返回数据：
// 如果获取的数据，res.data有statusCode 而且是4开头的3位数：
axios.interceptors.response.use((res) => {
  console.log('响应拦截器，热爱学习')
  const errCodePattern = /^4\d{2}$/
  if (errCodePattern.test(res.data.statusCode)) {
    Toast.fail(res.data.message || '系统错误呀')
    // Toast('系统错误么么么？？')
  }
  // 另一个独有的逻辑：
  // 用户伪造token值进入页面时：
  if (res.data.message == "用户信息验证失败") {
    localStorage.removeItem('token');
    localStorage.removeItem('userId');
    Toast.fail(res.data.message || '系统错误呀')
    router.replace('/login')
  }

  return res
})



// 绑定到原型：
Vue.prototype.$axios = axios;
// 注册vant ui 组件库的标签：
Vue.use(Vant)

Vue.config.productionTip = false

new Vue({
  router,
  render: function (h) { return h(App) }
}).$mount('#app')
